package waebricc;

public class WaebricLexerprs implements lpg.runtime.ParseTable, WaebricLexersym {
    public final static int ERROR_SYMBOL = 0;
    public final int getErrorSymbol() { return ERROR_SYMBOL; }

    public final static int SCOPE_UBOUND = 0;
    public final int getScopeUbound() { return SCOPE_UBOUND; }

    public final static int SCOPE_SIZE = 0;
    public final int getScopeSize() { return SCOPE_SIZE; }

    public final static int MAX_NAME_LENGTH = 0;
    public final int getMaxNameLength() { return MAX_NAME_LENGTH; }

    public final static int NUM_STATES = 51;
    public final int getNumStates() { return NUM_STATES; }

    public final static int NT_OFFSET = 102;
    public final int getNtOffset() { return NT_OFFSET; }

    public final static int LA_STATE_OFFSET = 934;
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }

    public final static int MAX_LA = 7;
    public final int getMaxLa() { return MAX_LA; }

    public final static int NUM_RULES = 355;
    public final int getNumRules() { return NUM_RULES; }

    public final static int NUM_NONTERMINALS = 42;
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }

    public final static int NUM_SYMBOLS = 144;
    public final int getNumSymbols() { return NUM_SYMBOLS; }

    public final static int SEGMENT_SIZE = 8192;
    public final int getSegmentSize() { return SEGMENT_SIZE; }

    public final static int START_STATE = 356;
    public final int getStartState() { return START_STATE; }

    public final static int IDENTIFIER_SYMBOL = 0;
    public final int getIdentifier_SYMBOL() { return IDENTIFIER_SYMBOL; }

    public final static int EOFT_SYMBOL = 100;
    public final int getEoftSymbol() { return EOFT_SYMBOL; }

    public final static int EOLT_SYMBOL = 103;
    public final int getEoltSymbol() { return EOLT_SYMBOL; }

    public final static int ACCEPT_ACTION = 578;
    public final int getAcceptAction() { return ACCEPT_ACTION; }

    public final static int ERROR_ACTION = 579;
    public final int getErrorAction() { return ERROR_ACTION; }

    public final static boolean BACKTRACK = false;
    public final boolean getBacktrack() { return BACKTRACK; }

    public final int getStartSymbol() { return lhs(0); }
    public final boolean isValidForParser() { return WaebricLexersym.isValidForParser; }


    public interface IsNullable {
        public final static byte isNullable[] = {0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,1,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            1,0,0,1,0,0,0,0,0,0,
            0,0,0,0
        };
    };
    public final static byte isNullable[] = IsNullable.isNullable;
    public final boolean isNullable(int index) { return isNullable[index] != 0; }

    public interface ProsthesesIndex {
        public final static byte prosthesesIndex[] = {0,
            25,28,29,30,26,32,27,40,8,24,
            38,7,11,19,22,31,33,37,39,41,
            42,2,3,4,5,6,9,10,12,13,
            14,15,16,17,18,20,21,23,34,35,
            36,1
        };
    };
    public final static byte prosthesesIndex[] = ProsthesesIndex.prosthesesIndex;
    public final int prosthesesIndex(int index) { return prosthesesIndex[index]; }

    public interface IsKeyword {
        public final static byte isKeyword[] = {0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0
        };
    };
    public final static byte isKeyword[] = IsKeyword.isKeyword;
    public final boolean isKeyword(int index) { return isKeyword[index] != 0; }

    public interface BaseCheck {
        public final static byte baseCheck[] = {0,
            7,2,3,1,0,1,5,1,1,2,
            3,3,2,1,5,1,1,1,1,1,
            1,1,1,1,1,1,1,1,2,2,
            1,1,1,1,1,1,1,2,3,4,
            3,2,2,0,1,2,2,2,0,2,
            1,1,2,1,2,1,2,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,2,1,2,2,2,
            1,2,2,1,2,1,1,2,2,2,
            2,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,6,2,1,2,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,6,2,2,2,2,2,2,
            2,2,2,2,2
        };
    };
    public final static byte baseCheck[] = BaseCheck.baseCheck;
    public final int baseCheck(int index) { return baseCheck[index]; }
    public final static byte rhs[] = baseCheck;
    public final int rhs(int index) { return rhs[index]; };

    public interface BaseAction {
        public final static char baseAction[] = {
            22,23,24,24,26,12,12,22,22,22,
            22,22,22,22,22,22,22,22,22,22,
            22,22,22,22,22,22,22,22,22,22,
            22,22,22,22,22,22,22,31,31,31,
            31,32,32,32,32,33,33,34,34,29,
            29,13,13,13,35,35,37,37,7,7,
            7,7,7,2,2,2,2,3,3,3,
            3,3,3,3,3,3,3,3,3,3,
            3,3,3,3,3,3,3,3,3,3,
            3,3,3,4,4,4,4,4,4,4,
            4,4,4,4,4,4,4,4,4,4,
            4,4,4,4,4,4,4,4,4,1,
            1,1,1,1,1,1,1,1,1,16,
            16,16,16,16,16,16,16,6,6,6,
            6,6,6,6,6,6,6,6,6,5,
            5,14,14,36,36,9,9,27,27,27,
            27,25,25,39,39,28,40,40,40,40,
            40,40,41,41,41,41,41,41,41,41,
            41,41,41,41,41,41,41,41,41,41,
            41,41,41,41,41,41,41,41,41,41,
            41,18,18,18,18,18,18,18,18,18,
            18,18,18,18,18,18,18,18,18,18,
            18,18,18,18,18,18,18,18,18,11,
            11,11,11,11,11,11,11,11,11,11,
            11,11,11,11,11,11,11,11,11,11,
            11,11,11,11,11,19,19,19,19,19,
            19,19,19,19,19,19,19,19,19,19,
            19,19,19,19,19,19,19,19,19,19,
            19,19,19,15,15,15,15,38,38,38,
            38,38,38,38,38,17,17,17,17,17,
            17,17,17,17,30,30,20,20,20,21,
            21,21,21,21,21,21,21,21,21,21,
            21,21,21,21,21,21,21,21,21,21,
            21,21,21,21,21,10,10,10,10,10,
            10,10,10,10,10,10,8,8,8,8,
            8,8,8,8,8,8,800,470,469,469,
            469,1330,57,472,376,374,57,57,676,600,
            475,475,475,475,1599,40,1567,475,368,517,
            1647,156,1621,505,9,875,475,14,475,156,
            484,401,345,463,475,500,201,410,410,410,
            410,1610,55,1579,410,1620,410,410,900,10,
            501,410,410,410,410,38,454,424,410,303,
            410,410,1165,53,1,43,43,43,43,530,
            1168,43,903,495,495,495,495,1605,1619,43,
            1577,377,43,101,41,41,41,41,7,873,
            41,1241,495,495,1360,361,1601,443,41,361,
            361,41,495,402,50,50,50,50,1635,677,
            1253,50,1254,50,50,700,162,162,162,162,
            1602,579,579,162,300,48,48,48,48,579,
            579,361,162,579,162,1000,305,305,305,305,
            1262,510,510,510,510,1172,159,158,158,158,
            1097,169,168,168,168,305,305,1593,579,579,
            579,579,48,579,480,48,382,1383,543,405,
            1624,579,543,543,579,579,579,480,579,382,
            510,579,422,1406,545,1429,554,579,545,545,
            554,554,1452,561,1475,344,579,561,561,344,
            344,1498,563,1521,570,579,563,563,570,570,
            1544,302,579,579,579,302,302,579,579
        };
    };
    public final static char baseAction[] = BaseAction.baseAction;
    public final int baseAction(int index) { return baseAction[index]; }
    public final static char lhs[] = baseAction;
    public final int lhs(int index) { return lhs[index]; };

    public interface TermCheck {
        public final static byte termCheck[] = {0,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,54,55,56,57,58,59,
            60,61,62,63,64,65,66,67,68,69,
            70,71,72,73,74,75,76,77,78,79,
            80,81,82,83,84,85,86,87,88,89,
            90,91,92,93,94,95,96,97,98,99,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,54,55,56,57,58,59,
            60,61,62,63,64,65,66,67,68,69,
            70,71,72,73,74,75,76,77,78,79,
            80,81,82,83,84,85,86,87,88,89,
            90,91,92,93,94,95,96,97,98,99,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,54,55,56,57,58,59,
            60,61,62,63,64,65,66,67,68,69,
            70,71,72,73,74,75,76,77,78,79,
            80,81,82,83,84,85,86,87,88,89,
            90,91,92,93,94,95,96,97,98,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,13,14,15,16,17,18,19,20,
            21,22,23,24,25,26,27,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            41,42,43,44,45,46,47,48,49,50,
            51,52,53,54,55,56,57,58,59,60,
            61,62,63,64,65,66,67,68,69,70,
            71,72,73,74,75,0,0,78,79,80,
            81,82,83,84,85,86,87,88,89,90,
            91,92,93,94,95,96,97,98,99,23,
            101,0,1,2,3,4,5,6,7,8,
            9,10,11,12,13,14,15,16,17,18,
            19,20,21,22,23,24,25,26,27,28,
            29,30,31,32,33,34,35,36,37,38,
            39,40,41,42,43,44,45,46,47,48,
            49,50,51,52,53,54,55,56,57,58,
            59,60,61,62,63,64,65,66,67,68,
            69,70,71,72,73,74,75,76,77,78,
            79,80,81,82,83,84,85,86,87,88,
            89,90,91,92,93,94,95,96,97,98,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,29,
            30,31,32,33,34,35,36,37,38,39,
            40,41,42,43,44,45,46,47,48,49,
            50,51,52,53,54,55,56,57,58,59,
            60,61,62,63,64,65,66,67,68,69,
            70,71,72,73,74,75,76,77,78,79,
            80,81,82,83,84,85,86,87,88,89,
            90,91,92,93,94,95,96,97,98,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,13,14,15,16,17,18,19,20,
            21,22,23,24,25,26,27,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            41,42,43,44,45,46,47,48,49,50,
            51,52,53,54,55,56,57,58,59,60,
            61,62,63,64,65,66,67,68,69,70,
            71,72,73,74,75,0,0,78,79,80,
            81,82,83,84,85,86,87,88,89,90,
            91,92,93,94,95,96,97,98,99,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,13,14,15,16,17,18,19,20,
            21,22,23,24,25,26,27,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            41,42,43,44,45,46,47,48,49,50,
            51,52,53,54,55,56,57,58,59,60,
            61,62,63,64,65,66,67,68,69,70,
            71,72,73,74,75,100,100,78,79,80,
            81,82,83,84,85,86,87,88,89,90,
            91,92,93,94,95,96,97,98,99,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,13,14,15,16,17,18,19,20,
            21,22,23,24,25,26,27,28,29,30,
            31,32,33,34,35,36,37,38,39,40,
            41,42,43,44,45,46,47,48,49,50,
            51,52,53,54,55,56,57,58,59,60,
            61,62,63,64,65,66,67,68,69,70,
            71,72,0,74,0,76,77,78,79,80,
            81,82,83,84,85,86,87,88,0,0,
            91,92,0,0,0,23,97,98,99,0,
            0,102,0,1,2,3,4,5,6,7,
            8,9,10,11,12,13,14,15,16,17,
            18,19,20,21,22,23,24,25,26,27,
            28,29,30,31,32,33,0,0,36,37,
            38,39,40,41,42,43,44,45,46,47,
            48,49,50,51,52,53,54,55,56,57,
            58,59,60,61,62,63,64,65,66,67,
            71,69,70,71,72,73,74,75,0,0,
            78,79,80,81,82,0,84,85,86,87,
            88,89,90,91,92,93,94,95,96,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,13,14,15,16,17,18,19,20,
            21,22,23,24,25,26,27,28,29,30,
            31,32,33,0,0,36,37,38,39,40,
            41,42,43,44,45,46,47,48,49,50,
            51,52,53,54,55,56,57,58,59,60,
            61,62,63,64,65,66,67,0,69,70,
            71,72,73,74,75,0,0,78,79,80,
            81,82,0,84,85,86,87,88,89,90,
            91,92,93,94,95,96,0,1,2,3,
            4,5,6,7,8,9,10,11,12,13,
            14,15,16,17,18,19,20,21,22,23,
            24,25,26,27,28,29,0,31,32,33,
            0,0,36,37,38,39,40,41,42,43,
            44,45,46,47,48,49,50,51,52,53,
            54,55,56,57,58,59,60,61,62,63,
            64,65,66,67,0,69,0,0,0,0,
            74,0,1,2,3,4,5,6,7,8,
            9,10,11,12,13,14,15,16,17,18,
            19,20,21,22,23,24,25,26,27,28,
            29,0,31,32,33,0,0,36,37,38,
            39,40,41,42,43,44,45,46,47,48,
            49,50,51,52,53,54,55,56,57,58,
            59,60,61,62,63,64,65,66,67,72,
            0,0,0,0,0,0,0,83,0,0,
            10,10,0,0,0,0,0,0,0,0,
            89,0,1,2,3,4,5,6,7,8,
            9,10,11,12,13,14,15,16,17,18,
            19,20,21,22,23,24,25,26,27,28,
            29,0,31,32,33,0,0,36,37,38,
            39,40,41,42,43,44,45,46,47,48,
            49,50,51,52,53,54,55,56,57,58,
            59,60,61,62,63,64,65,66,67,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,13,14,15,16,17,18,19,20,
            21,22,100,100,0,26,0,0,29,0,
            1,2,3,4,5,6,7,8,9,10,
            11,12,13,14,15,16,17,18,19,20,
            21,22,0,1,2,3,4,5,6,7,
            8,9,10,11,12,13,14,15,16,17,
            18,19,20,21,22,0,1,2,3,4,
            5,6,7,8,9,10,11,12,13,14,
            15,16,17,18,19,20,21,22,0,1,
            2,3,4,5,6,7,8,9,10,11,
            12,13,14,15,16,17,18,19,20,21,
            22,0,1,2,3,4,5,6,7,8,
            9,10,11,12,13,14,15,16,17,18,
            19,20,21,22,0,1,2,3,4,5,
            6,7,8,9,10,11,12,13,14,15,
            16,17,18,19,20,21,22,0,1,2,
            3,4,5,6,7,8,9,10,11,12,
            13,14,15,16,17,18,19,20,21,22,
            0,1,2,3,4,5,6,7,8,9,
            10,11,12,13,14,15,16,17,18,19,
            20,21,22,0,1,2,3,4,5,6,
            7,8,9,10,11,12,13,14,15,16,
            17,18,19,20,21,22,0,1,2,3,
            4,5,6,7,8,9,0,11,0,1,
            2,3,4,5,6,7,8,9,0,11,
            24,25,0,27,28,0,30,0,0,0,
            0,0,24,25,0,27,28,31,30,0,
            1,2,3,4,5,6,7,8,0,0,
            0,12,13,0,24,30,34,35,0,34,
            35,30,34,35,0,26,70,0,29,73,
            0,75,0,0,0,0,0,0,70,30,
            0,73,24,75,34,35,0,34,35,25,
            68,0,25,68,0,99,68,23,76,77,
            23,76,77,69,76,77,100,99,32,33,
            0,0,0,0,83,0,0,69,68,0,
            0,68,0,0,90,0,76,77,0,76,
            77,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,100,0,0,0
        };
    };
    public final static byte termCheck[] = TermCheck.termCheck;
    public final int termCheck(int index) { return termCheck[index]; }

    public interface TermAction {
        public final static char termAction[] = {0,
            579,622,622,622,622,622,622,622,622,622,
            622,622,622,622,622,622,622,622,622,622,
            622,622,622,622,622,622,622,622,622,622,
            622,622,622,622,622,622,622,622,622,622,
            622,622,622,622,622,622,622,622,622,622,
            622,622,622,622,622,622,622,622,622,622,
            622,622,622,622,622,622,622,622,622,621,
            622,622,622,622,622,622,622,622,622,622,
            622,622,622,622,622,622,622,622,622,622,
            443,622,622,622,622,622,622,622,622,622,
            579,620,620,620,620,620,620,620,620,620,
            620,620,620,620,620,620,620,620,620,620,
            620,620,620,620,620,620,620,620,620,620,
            620,620,620,620,620,620,620,620,620,620,
            620,620,620,620,620,620,620,620,620,620,
            620,620,620,620,620,620,620,620,620,620,
            620,620,620,620,620,620,620,620,620,594,
            620,620,620,620,620,620,620,620,620,620,
            620,620,620,620,620,620,620,620,620,620,
            625,620,620,620,620,620,620,620,620,620,
            579,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            630,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            410,410,410,376,410,631,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,16,
            627,627,627,627,627,627,627,627,627,627,
            627,627,627,627,627,627,627,627,627,627,
            627,627,627,627,627,627,627,627,627,627,
            627,627,627,627,627,627,627,627,627,627,
            627,627,627,627,627,627,627,627,627,627,
            627,627,627,627,627,627,627,627,627,627,
            627,627,627,627,627,627,627,627,627,627,
            627,627,627,627,627,49,579,627,627,627,
            627,627,627,627,627,627,627,627,627,627,
            627,627,627,627,627,627,627,627,627,449,
            627,579,629,629,629,629,629,629,629,629,
            629,629,629,629,629,629,629,629,629,629,
            629,629,629,629,629,629,629,629,629,629,
            629,590,629,629,629,629,629,629,629,629,
            629,629,629,629,629,629,629,629,629,629,
            629,629,629,629,629,629,629,629,629,629,
            629,629,629,629,629,629,629,629,629,629,
            629,629,629,629,376,629,591,629,629,629,
            629,629,629,629,629,629,629,629,629,629,
            629,629,629,629,629,629,629,629,629,629,
            579,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            630,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            410,410,410,376,410,631,410,410,410,410,
            410,410,410,410,410,410,410,410,410,410,
            410,410,410,410,410,410,410,410,410,579,
            475,475,475,475,475,475,475,475,475,475,
            475,475,475,475,475,475,475,475,475,475,
            475,475,475,475,475,475,475,475,475,581,
            475,475,475,475,475,475,475,475,475,475,
            475,475,475,475,475,475,475,475,475,475,
            475,475,475,475,475,475,475,475,475,475,
            475,475,475,475,475,475,475,475,475,475,
            475,475,403,475,475,579,157,475,475,475,
            475,475,475,475,475,475,475,475,475,475,
            475,475,475,475,475,475,475,475,475,579,
            741,741,741,741,741,741,741,741,741,741,
            741,741,741,741,741,741,741,741,741,741,
            741,741,741,741,741,741,741,741,741,582,
            741,741,741,741,741,741,741,741,741,741,
            741,741,741,741,741,741,741,741,741,741,
            741,741,741,741,741,741,741,741,741,741,
            741,741,741,741,741,741,741,741,741,741,
            741,741,403,741,741,578,8,741,741,741,
            741,741,741,741,741,741,741,741,741,741,
            741,741,741,741,741,741,741,741,741,579,
            380,470,470,470,470,470,470,470,469,469,
            469,470,470,469,440,469,469,469,469,469,
            469,469,469,469,469,469,469,469,469,396,
            469,469,469,472,472,469,469,469,469,469,
            469,469,469,469,469,469,469,469,469,469,
            469,469,469,469,469,469,469,469,469,469,
            469,469,469,469,469,469,469,472,437,432,
            408,430,579,438,44,472,472,599,611,598,
            606,604,605,614,615,612,613,597,579,579,
            600,602,579,579,579,451,603,601,364,579,
            579,607,579,495,495,495,495,495,495,495,
            495,495,495,495,495,495,495,495,495,495,
            495,495,495,495,495,495,495,495,495,495,
            495,495,495,495,495,495,579,579,495,495,
            495,495,495,495,495,495,495,495,495,495,
            495,495,495,495,495,495,495,495,495,495,
            495,495,495,495,495,495,495,495,495,495,
            609,495,495,495,495,495,495,495,579,579,
            495,495,495,495,495,579,495,495,495,495,
            495,495,495,495,495,495,495,495,495,13,
            884,884,884,884,884,884,884,884,884,884,
            884,884,884,884,884,884,884,884,884,884,
            884,884,884,884,884,884,884,884,884,884,
            884,884,884,579,579,884,884,884,884,884,
            884,884,884,884,884,884,884,884,884,884,
            884,884,884,884,884,884,884,884,884,884,
            884,884,884,884,884,884,884,579,884,884,
            884,884,884,884,884,579,579,884,884,884,
            884,884,579,884,884,884,884,884,884,884,
            884,884,884,884,884,884,165,748,748,748,
            748,748,748,748,748,747,747,747,748,748,
            747,747,747,747,747,747,747,747,747,747,
            747,747,747,747,747,747,579,747,747,747,
            579,579,747,747,747,747,747,747,747,747,
            747,747,747,747,747,747,747,747,747,747,
            747,747,747,747,747,747,747,747,747,747,
            747,747,747,747,579,750,579,579,579,579,
            749,8,738,738,738,738,738,738,738,738,
            737,737,737,738,738,737,737,737,737,737,
            737,737,737,737,737,737,737,737,737,737,
            737,579,737,737,737,579,579,737,737,737,
            737,737,737,737,737,737,737,737,737,737,
            737,737,737,737,737,737,737,737,737,737,
            737,737,737,737,737,737,737,737,737,608,
            579,69,579,579,579,579,579,583,579,579,
            456,2563,54,155,579,579,579,579,579,579,
            739,579,510,510,510,510,510,510,510,510,
            510,510,510,510,510,510,510,510,510,510,
            510,510,510,510,510,510,510,510,510,510,
            510,579,510,510,510,579,579,510,510,510,
            510,510,510,510,510,510,510,510,510,510,
            510,510,510,510,510,510,510,510,510,510,
            510,510,510,510,510,510,510,510,510,39,
            636,636,636,636,636,636,636,636,636,636,
            636,636,636,636,636,636,636,636,636,636,
            636,636,14,17,579,619,579,579,619,579,
            361,361,361,361,361,361,361,361,361,361,
            361,361,361,361,361,361,361,361,361,361,
            361,361,579,543,543,543,543,543,543,543,
            543,543,543,543,543,543,543,543,543,543,
            543,543,543,543,543,579,545,545,545,545,
            545,545,545,545,545,545,545,545,545,545,
            545,545,545,545,545,545,545,545,579,554,
            554,554,554,554,554,554,554,554,554,554,
            554,554,554,554,554,554,554,554,554,554,
            554,579,561,561,561,561,561,561,561,561,
            561,561,561,561,561,561,561,561,561,561,
            561,561,561,561,579,923,923,923,923,923,
            923,923,923,923,923,923,923,923,923,923,
            923,923,923,923,923,923,923,579,563,563,
            563,563,563,563,563,563,563,563,563,563,
            563,563,563,563,563,563,563,563,563,563,
            579,570,570,570,570,570,570,570,570,570,
            570,570,570,570,570,570,570,570,570,570,
            570,570,570,579,881,881,881,881,881,881,
            881,881,881,881,881,881,881,881,881,881,
            881,881,881,881,881,881,579,924,924,924,
            924,924,924,924,924,925,157,928,579,882,
            882,882,882,882,882,882,882,925,579,928,
            927,926,5,929,527,69,930,579,17,579,
            579,155,927,926,164,929,552,2582,930,14,
            634,634,634,634,634,634,634,634,31,579,
            6,634,634,5,468,441,480,480,69,441,
            441,6,735,735,579,617,931,69,617,934,
            579,932,579,579,69,579,54,69,931,369,
            579,934,2572,932,735,735,579,480,480,580,
            480,579,2530,441,579,933,735,2176,480,480,
            2579,441,441,626,735,735,8,933,454,454,
            579,579,579,579,6,579,579,742,735,579,
            579,480,579,579,385,579,735,735,579,480,
            480,579,579,579,579,579,579,579,579,579,
            579,579,579,579,579,579,579,579,579,579,
            579,579,579,579,579,579,579,579,579,579,
            579,579,579,579,579,579,579,579,579,579,
            579,579,579,579,579,579,14
        };
    };
    public final static char termAction[] = TermAction.termAction;
    public final int termAction(int index) { return termAction[index]; }
    public final int asb(int index) { return 0; }
    public final int asr(int index) { return 0; }
    public final int nasb(int index) { return 0; }
    public final int nasr(int index) { return 0; }
    public final int terminalIndex(int index) { return 0; }
    public final int nonterminalIndex(int index) { return 0; }
    public final int scopePrefix(int index) { return 0;}
    public final int scopeSuffix(int index) { return 0;}
    public final int scopeLhs(int index) { return 0;}
    public final int scopeLa(int index) { return 0;}
    public final int scopeStateSet(int index) { return 0;}
    public final int scopeRhs(int index) { return 0;}
    public final int scopeState(int index) { return 0;}
    public final int inSymb(int index) { return 0;}
    public final String name(int index) { return null; }
    public final int originalState(int state) { return 0; }
    public final int asi(int state) { return 0; }
    public final int nasi(int state) { return 0; }
    public final int inSymbol(int state) { return 0; }

    /**
     * assert(! goto_default);
     */
    public final int ntAction(int state, int sym) {
        return baseAction[state + sym];
    }

    /**
     * assert(! shift_default);
     */
    public final int tAction(int state, int sym) {
        int i = baseAction[state],
            k = i + sym;
        return termAction[termCheck[k] == sym ? k : i];
    }
    public final int lookAhead(int la_state, int sym) {
        int k = la_state + sym;
        return termAction[termCheck[k] == sym ? k : la_state];
    }
}
